namespace Hbt.Domain.IServices.Extensions;

/// <summary>
/// 设备ID生成器接口
/// </summary>
public interface IHbtDeviceIdGenerator
{
    /// <summary>
    /// 生成设备ID
    /// </summary>
    /// <param name="deviceInfoJson">设备信息JSON</param>
    /// <param name="userId">用户ID</param>
    /// <param name="userAgent">用户代理字符串（可选）</param>
    /// <param name="loginIp">登录IP地址（可选）</param>
    /// <returns>设备ID</returns>
    string GenerateDeviceId(string? deviceInfoJson, string userId, string? userAgent = null, string? loginIp = null);

    /// <summary>
    /// 生成连接ID
    /// </summary>
    /// <param name="deviceId">设备ID</param>
    /// <returns>连接ID</returns>
    string GenerateConnectionId(string deviceId);


}